package com.rybbaby.tss.platform.sysCourseSystem.entity;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import java.io.Serializable;

/**
 * @description 课程体系
 * 
 * @author 雷春琼
 * 
 * @createDate 2017-08-10 下午7:57:36
 */
@Entity
@Table(name = "sys_course_system")
@DynamicUpdate(true)
@DynamicInsert(true)
public class SysCourseSystem implements Serializable {
	
	private static final long serialVersionUID = 125610943015936L;
	
	/** Id **/
	private String id;
	/** 部门名称 **/
	private String name;
	/** 创建时间 **/
	private java.sql.Timestamp createTime;
	/** 修改时间 **/
	private java.sql.Timestamp updateTime;
	/** 课时 **/
	private Integer classHour;
	/** 适用年龄 **/
	private String trialAge;
	/** 父Id **/
	private String pId;
	/** 课程体系类型 **/
	private Integer type;
	/** 版本 **/
	private Integer version;
	
	/**
	 * 方法: 取得部门Id
	 *
	 * @return java.lang.Integer 部门Id
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "id", nullable= false, length = 11)
	public String getId() {
		return this.id;
	}
	
	/**
	 * 方法: 设置部门Id
	 *
	 * @param id 部门Id
	 */
	public void setId(String id) {
		this.id = id;
	}
	
	/**
	 * 方法: 取得部门名称
	 *
	 * @return java.lang.String 部门名称
	 */
	@Column(name = "name", nullable= true, length = 50)
	public String getName() {
		return this.name;
	}
	
	/**
	 * 方法: 设置部门名称
	 *
	 * @param name 部门名称
	 */
	public void setName(String name) {
		this.name = name;
	}
	
	/**
	 * 方法: 取得创建时间
	 *
	 * @return java.sql.Timestamp 创建时间
	 */
	@Column(name = "createTime", nullable= true, length = 19)
	public java.sql.Timestamp getCreateTime() {
		return this.createTime;
	}
	
	/**
	 * 方法: 设置创建时间
	 *
	 * @param createTime 创建时间
	 */
	public void setCreateTime(java.sql.Timestamp createTime) {
		this.createTime = createTime;
	}
	
	/**
	 * 方法: 取得修改时间
	 *
	 * @return java.sql.Timestamp 修改时间
	 */
	@Column(name = "updateTime", nullable= true, length = 19)
	public java.sql.Timestamp getUpdateTime() {
		return this.updateTime;
	}
	
	/**
	 * 方法: 设置修改时间
	 *
	 * @param updateTime 修改时间
	 */
	public void setUpdateTime(java.sql.Timestamp updateTime) {
		this.updateTime = updateTime;
	}
	
	/**
	 * 方法: 取得版本
	 *
	 * @return java.lang.Integer 版本
	 */
    @Version
	@Column(name = "version", nullable= true, length = 11)
	public Integer getVersion() {
		return this.version;
	}
	
	/**
	 * 方法: 设置版本
	 *
	 * @param version 版本
	 */
	public void setVersion(Integer version) {
		this.version = version;
	}

	@Column(name = "classHour", nullable= true, length = 11)
	public Integer getClassHour() {
		return classHour;
	}

	public void setClassHour(Integer classHour) {
		this.classHour = classHour;
	}
	@Column(name = "trialAge", nullable= true, length = 20)
	public String getTrialAge() {
		return trialAge;
	}

	public void setTrialAge(String trialAge) {
		this.trialAge = trialAge;
	}
	@Column(name = "pId", nullable= true, length = 32)
	public String getpId() {
		return pId;
	}

	public void setpId(String pId) {
		this.pId = pId;
	}
	@Column(name = "type", nullable= true, length = 11)
	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}
}